<template>
  <div>
    <div class="footer_wrap">
      <span @click="btn('/find', 'Find')">发现音乐</span>
      <span @click="btn('/my', 'My')">我的音乐</span>
      <span @click="btn('/part', 'Part')">朋友</span>
      <span @click="btnOne">朋友-小小传</span>
      <span @click="btnTwo">朋友-小小智</span>
    </div>
    <div class="top">
      <!-- 7. router-view 挂载点，最终这里会替换成具体的页面组件 -->
      <router-view></router-view>
    </div>
  </div>
</template>

<script>
export default {
  methods: {
    btn(thePath, theName) {
      // 目标: 用JS代码来进行跳转
      // 💥 注意这个单词：$router
      this.$router.push({
        // 跳转方式1
        // path: thePath
        // 跳转方式2
        name: theName,
      });
    },
    // 传参方式1：
    btnOne() {
      this.$router.push({
        // 方式一：name + query       ✅
        // name: "Part",
        // query: {
        //   name: "小小传",
        // },
        // 方式二：path + query       ✅
        path: "/part",
        query: {
          name: "小小传",
        },
      });
    },
    btnTwo() {
      this.$router.push({
        // 方式三：name + params       ✅
        // name: "Part",
        // params: {
        //   name: "小小智",
        // },
        // 方式四：path 直接拼接动态参数 ✅
        path: "/part/小小智",
        // 💥 有坑点，path 方式跳转，会自动忽略 params 参数  ❌
        // params: {
        //   name: "小小智",
        // },
        // 🔔 需要直接在 path 路径上传递动态路由的参数
      });
    },
  },
};
</script>

<style scoped>
.footer_wrap {
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  width: 100%;
  text-align: center;
  background-color: #333;
  color: #ccc;
}
.footer_wrap span {
  flex: 1;
  text-decoration: none;
  padding: 20px 0;
  line-height: 20px;
  background-color: #333;
  color: #ccc;
  border: 1px solid black;
}
.footer_wrap span:hover {
  background-color: #555;
}
.top {
  padding-top: 62px;
}
/* router-link-active 类名，用于实现高亮的  */
.footer_wrap .router-link-active {
  background-color: #000;
  color: #fff;
}
</style>